const Tag = require('../lib/mongo').Tag

module.exports = {
  // 创建
  create: function create (tag) {
    return Tag.create(tag).exec()
  },

  // 通过 id 获取一个tag
  getTagById: function getTagById (tagName) {
    return Tag.findOne({ tagName: tagName }).exec()
  },

  // 通过 id 删除一个tag
  delTagById: function delTagById (tagId) {
    return Tag.deleteOne({ _id: tagId }).exec()
  },

  // 通过 id 删除所有tag
  delTagsBytagId: function delTagsBytagId (tagId) {
    return Tag.deleteMany({ tagId: tagId }).exec()
  },

  // 通过 id 获取该所有tag，按来源创建时间升序
  getTag: function getTag (tagId) {
    return Tag
      .find({ tagId: tagId })
      .populate({ path: 'author', model: 'User' })
      .sort({ _id: 1 })
      .addCreatedAt()
      .exec()
  },

  // 通过 id 获取该Tag数
  getTagCount: function getTagCount (tagId) {
    return Tag.count({ tagId: tagId }).exec()
  }
}
